/*
 * trace_CmdRecording.h
 *
 *  Created on: 2012/07/06
 *      Author: guanxiaoying
 */
/* traced PATH-INFO( stCmdPathInfoAccess ) when making LOOP-INFO
   Act as a double linked list.
   Not all traced paths are in a double linked list. So,
   it cannot to be used for backtracking!!!
   For example, there are more than one in-paths, and only one of them
    will be recorded in the double linked list.

   Life-cycle: Cleared at the beginning and ending of function tr_PathLoopCollectInfo.
      add one when stepping forward.
*/
#ifndef TRACE_CMDRECORDING_H_
#define TRACE_CMDRECORDING_H_

typedef struct _CMDRECORDINGACCESS{
	BOOL (*clear)( VOID );
	BOOL (*alloc)( AST );
	AST  (*getMax)( VOID );
	/* property below: PATH-INFO */
	ACCESS_IDX_FIELD parameter;
	/* property below: Next pointer of a double linked list */
	ACCESS_IDX_FIELD next;
	/* property below: Before pointer of a double linked list */
	ACCESS_IDX_FIELD before;
}CMDRECORDINGACCESS;
extern const CMDRECORDINGACCESS stCmdRecordingAccess;

#endif /* TRACE_CMDRECORDING_H_ */
